---
title: Application overview
summary: Purpose, users, capabilities, and capability matrix for the ClaimBillEntry application.
status: draft
owner: Claims
last_reviewed: 2026-09-30
---

# Application overview

ClaimBillEntry is the Claims bill-entry web application. Staff use it to key medical bills (worker, diagnoses, procedures, service lines, notes and providers) against a SAIF claim, to work a personal inbox of bills, and to search bills. It is hosted in IIS under the virtual directory `/ClaimBillEntry/` with Windows authentication and runs on .NET Framework 4.6.2 with ASP.NET MVC 5 and Razor views.

## Purpose
- Key, save, submit, send or pend, and discard medical bills against a SAIF claim on the [Bill entry](../screens/entry.md) screen.
- Give each user a personal work queue of bills on the [Inbox](../screens/inbox.md) screen.
- Find bills by bill id, tax id, provider id, SSN, claim number or received date on the [Search](../screens/search.md) screen.
- Delegate all domain behavior (bill services, query providers, claim and worker lookups) to SAIF internal packages, leaving the application responsible for screens, routing, AJAX endpoints and composition.

## Users

| User role | Description | Primary use cases |
| --- | --- | --- |
| `CBPEnterBill` | Claims bill-entry staff; the role required by the Entry, Inbox and Search controllers | Key and submit bills, work the inbox, search bills |
| `CBEDiscardBill` | Permission checked when the Bill entry screen loads; controls whether the Discard button is shown | Discard a bill (enforced on the client only, see [BR-SCR-006](business-rules.md#br-scr-006-discard-permission-is-enforced-client-side-only)) |
| `ConflictClaim` | Permission checked when a bill is opened | Open bills that belong to conflict claims (see [BR-SCR-002](business-rules.md#br-scr-002-conflict-claim-bills-require-conflictclaim-permission)) |

## Capability matrix

The repository has no standalone libraries. Each capability is owned by an application component and performed by a consumed SAIF package. 20 package/framework business rules recovered from those packages are now documented in [business rules](business-rules.md#package-and-framework-business-rules)†. `SaifAuthorizeAttribute`'s role-check behavior is likewise documented via retrieved behavior† in [Request pipeline and composition](operations/request-pipeline-and-composition.md) and [Security and authorization](security-authorization.md#authorization-architecture); the internal mechanics of each service method beyond the recovered rules, and the inherited `ClaimControllerBase.CheckSecurity` action-filter internals beyond its call site, remain untraced**.

| Capability | Owning component | Consumed package(s) performing the work | Description |
| --- | --- | --- | --- |
| Bill header entry, save, submit, discard and queue feed | [Bill entry](../screens/entry.md), `EntryController` | `SAIF.SAIFCode.Core` (`IBillEntryService`) | Loads, saves, submits and discards bills and pulls the next bill from the queue |
| Send or pend a bill to another mailbox | `EntryController` | `SAIF.SAIFCode.Core` (`IBillService.SendPendBill`) | Routes a bill to another user's mail id |
| Worker lookup by claim number | `EntryController` | `SAIF.SAIFCode.Core` (`IClaimInformationService`) | Loads worker information when the claim number changes |
| Diagnosis, procedure, service-line and note grids | `DiagnosisGridController`, `ProcedureGridController`, `ServiceGridController`, `NoteGridController` | `SAIF.SAIFCode.Core` (`IBillDiagnosisService`, `IBillProcedureService`, `IBillServiceService`, `INoteService`) | Kendo grid create, read, update and delete plus code validation |
| Provider lookup and TIN validation | `ProviderController` | `SAIF.SAIFCode.Core` (`IBillEntryService`, `IProviderQueryProvider`) | Billing and rendering provider lookups and tax id validation |
| Personal inbox | [Inbox](../screens/inbox.md), `InboxController` | `SAIF.SAIFCode.Core` (`IBillEntryService`), `SAIF.Framework.Core` (`IUserProfileService`) | Lists bills for a responsible party |
| Bill search | [Search](../screens/search.md), `SearchController` | `SAIF.SAIFCode.Core` (`IBillQueryService`) | Searches bills by criteria |
| Grid column preferences | `BaseController` | `SAIF.Framework.Core` (`IUserProfileService.Preferences`) | Saves and clears a user's grid column layout |
| Menu, web context and security filter | `BaseController`, `_Bootstrap3` layout | `SAIF.SAIFCode.Web.Mvc` (`ClaimControllerBase`), `SAIF.Framework.Web.Mvc` | Renders the SAIF menu and web-context control and applies conflict-claim access |
| Claim document viewing | Client script `launchOnBase` | OnBase enabler (client asset) | Opens a claim document in OnBase from the browser |
| Dependency composition | `SAIF.DependencyMaps.Web.ClaimBillEntry` (companion project) | Autofac, `SAIF.Framework.Data.NHibernate`, `ImagingApi.Client` | Builds the Autofac container and registers services |

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [Data model](data-model.md)
- [Hosted endpoints](hosted-endpoints.md)
- [Tech debt](tech-debt.md)
- [Screen catalog](../screens/index.md)

> **Note:** Statements marked with `†` are derived from dependency library
> documentation via the Legends CLI. Statements marked with `**` could
> not be confirmed; treat as unknown until verified.

## Sources
- ClaimBillEntry/ClaimBillEntry.csproj
- ClaimBillEntry/Views/_ViewStart.cshtml
- ClaimBillEntry/Controllers/HomeController.cs
- ClaimBillEntry/Controllers/BaseController.cs
- ClaimBillEntry/Controllers/EntryController.cs
- ClaimBillEntry/Controllers/InboxController.cs
- ClaimBillEntry/Controllers/SearchController.cs
- ClaimBillEntry/Controllers/ProviderController.cs
- ClaimBillEntry/Controllers/NoteGridController.cs
- ClaimBillEntry/Controllers/DiagnosisGridController.cs
- ClaimBillEntry/Controllers/ProcedureGridController.cs
- ClaimBillEntry/Controllers/ServiceGridController.cs
- ClaimBillEntry/js/ClaimBillEntry.entry.js
- SAIF.DependencyMaps.Web.ClaimBillEntry/DependencyMap.cs
- Pipelines/build-vars.yml
